Crate elliptic_curve[][src]

Expand description

General purpose Elliptic Curve Cryptography (ECC) support, including types and traits for representing various elliptic curve forms, scalars, points, and public/secret keys composed thereof.

Minimum Supported Rust Version

Rust 1.47 or higher.

Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump.

Re-exports

pub use generic_array;
pub use rand_core;
pub use subtle;
pub use ff;
pub use group;
pub use pkcs8;
pub use zeroize;

Modules

consts

Type aliases for many constants.

ecdhecdh

Elliptic Curve Diffie-Hellman Support.

ops

Traits for arithmetic operations on elliptic curve field elements.

sec1

SEC1 encoding support.

util

Arithmetic helper functions designed for efficient LLVM lowering.

weierstrass

Elliptic curves in short Weierstrass form.

Structs

Error

Elliptic curve errors.

JwkEcKeyjwk

JSON Web Key (JWK) with a kty of "EC" (elliptic curve).

NonZeroScalararithmetic

Non-zero scalar type.

PublicKeyarithmetic

Elliptic curve public keys.

ScalarBytes

Scalar bytes: wrapper for FieldBytes which guarantees that the the inner byte value is within range of the curve’s Order.

SecretKeyzeroize

Elliptic curve secret keys.

Constants

ALGORITHM_OIDpkcs8

Algorithm ObjectIdentifier for elliptic curve public key cryptography.

Traits

AlgorithmParameterspkcs8

Associate an ObjectIdentifier (OID) with an elliptic curve algorithm implementation.

Curve

Elliptic curve.

Field

This trait represents an element of a field.

Group

This trait represents an element of a cryptographic group.

JwkParametersjwk

Elliptic curve parameters used by JSON Web Keys.

Order

Order of an elliptic curve group.

ProjectiveArithmeticarithmetic

Elliptic curve with projective arithmetic implementation.

Type Definitions

AffinePointarithmetic

Affine point type for a given curve with a ProjectiveArithmetic implementation.

FieldBytes

Byte representation of a base/scalar field element of a given curve.

ProjectivePointarithmetic

Projective point type for a given curve with a ProjectiveArithmetic implementation.

Result

Result type.

Scalararithmetic

Scalar field element for a particular elliptic curve.

ScalarBitsarithmetic

Bit representation of a scalar field element of a given curve.